home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / gas / config / tc-ns32k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-04  |  2.6 KB  |  104 lines

  1. /* tc-ns32k.h -- Opcode table for National Semi 32k processor
  2.    Copyright (C) 1987, 1992 Free Software Foundation, Inc.
  3.  
  4.    This file is part of GAS, the GNU Assembler.
  5.  
  6.    GAS is free software; you can redistribute it and/or modify
  7.    it under the terms of the GNU General Public License as published by
  8.    the Free Software Foundation; either version 2, or (at your option)
  9.    any later version.
  10.  
  11.    GAS is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with GAS; see the file COPYING.  If not, write to
  18.    the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  19.  
  20. #define TC_NS32K
  21.  
  22. #define TC_PCREL_ADJUST(F) md_pcrel_adjust(F)
  23.  
  24. #ifdef BFD_ASSEMBLER
  25. #define NO_RELOC BFD_RELOC_NONE
  26.  
  27. #define TARGET_ARCH        bfd_arch_ns32k
  28. #define TARGET_BYTES_BIG_ENDIAN    0
  29.  
  30. #ifndef TARGET_FORMAT
  31. #define TARGET_FORMAT        "a.out-pc532-mach"
  32. #endif
  33.  
  34. /* Experimental code. See write.c */
  35. #define BFD_FAST_SECTION_FILL
  36.  
  37. #else
  38. #define NO_RELOC 0
  39. #endif
  40.  
  41. #define LOCAL_LABELS_FB 1
  42.  
  43. #include "bit_fix.h"
  44.  
  45. #define tc_aout_pre_write_hook(x)    {;}    /* not used */
  46. #define tc_crawl_symbol_chain(a)    {;}    /* not used */
  47. #define tc_headers_hook(a)        {;}    /* not used */
  48.  
  49. #ifdef SEQUENT_COMPATABILITY
  50. #define DEF_MODEC 20
  51. #define DEF_MODEL 21
  52. #endif
  53.  
  54. #ifndef DEF_MODEC
  55. #define DEF_MODEC 20
  56. #endif
  57.  
  58. #ifndef DEF_MODEL
  59. #define DEF_MODEL 20
  60. #endif
  61.  
  62. #define MAX_ARGS 4
  63. #define ARG_LEN 50
  64.  
  65. #define TC_CONS_FIX_NEW cons_fix_new_ns32k
  66. extern void fix_new_ns32k_exp PARAMS((fragS *frag,
  67.                    int where,
  68.                    int size,
  69.                    expressionS *exp,
  70.                    int pcrel,
  71.                    int pcrel_adjust,
  72.                    int im_disp,
  73.                    bit_fixS *bit_fixP,    /* really bit_fixS */
  74.                    int bsr));
  75.  
  76.  
  77. extern void fix_new_ns32k PARAMS ((fragS *frag,
  78.                    int where,
  79.                    int size,
  80.                    struct symbol *add_symbol,
  81.                    long offset,
  82.                    int pcrel,
  83.                    int pcrel_adjust,
  84.                    int im_disp,
  85.                    bit_fixS *bit_fixP,    /* really bit_fixS */
  86.                    int bsr));
  87.  
  88. extern void cons_fix_new_ns32k PARAMS ((fragS *frag,
  89.                     int where,
  90.                     int size,
  91.                     expressionS *exp));
  92.  
  93. /* the NS32x32 has a non 0 nop instruction which should be used in alligns */
  94. #define NOP_OPCODE 0xa2
  95.  
  96. #define md_operand(x)
  97.  
  98. extern const struct relax_type md_relax_table[];
  99. #define TC_GENERIC_RELAX_TABLE md_relax_table
  100.  
  101. #define TC_FIX_TYPE struct { unsigned bsr : 1; }
  102. #define fx_bsr tc_fix_data.bsr
  103. #define TC_INIT_FIX_DATA(F)    ((F)->tc_fix_data.bsr = 0)
  104.